/*******************************************************************************
 * FilePath    : \Software\Examples_Ble_MS1656\ble_app_peripheral_uart\Src\User\User_Key.h
 * Version     : 1.0
 * Brief       : 
 * Author      : AndrewHu
 * Company     : Shanghai MacroGiga Electronics CO.,Ltd
 * Email       : Hubinbo@macrogiga.com
 * Date        : 2020-04-03 15:53:38
 * LastEditors : AndrewHu
 * LastEditTime: 2021-05-08 19:20:20
 * Description : 
 ******************************************************************************/
#ifndef _USER_H_
#define _USER_H_
/* Includes ------------------------------------------------------------------*/
#include <Includes.h>
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define KeyFlag_times 0x08 //连按结束，连按次数取决于bit0~bit2
#define KeyFlag_down 0x10  //按键按下
#define KeyFlag_Long 0x20  //长按
#define KeyFlag_event 0x80 //按键事件待处理
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function ----------------------------------------------------------*/
/*******************************************************************************
 * Function    : GetKeyPinStatus
 * Brief       : 判断按键引脚状态
 * Parameter   : 
 * Returns     : 
 * Date        : 2020-04-17 16:47:55
 * Description : 按键按下时不进入低功耗
 ******************************************************************************/
u8 GetKeyStatus(void);
/*******************************************************************************
 * Function    : Key_Scan
 * Brief       : 按键扫描
 * Parameter   : 
 * Returns     : 
 * Date        : 2020-04-03 16:30:17
 * Description : bit7-按键状态改变标志位，bit4-按键状态标志位
 ******************************************************************************/
u8 Key_Scan(void);
/*******************************************************************************
 * Function    : Key_ClearFlag
 * Brief       : 清除按键事件旗标
 * Parameter   : 
 * Returns     : 
 * Date        : 2020-04-04 15:12:17
 * Description : 
 ******************************************************************************/
void Key_ClearFlag(void);
/*******************************************************************************
 * Function    : GetKeyFlag
 * Brief       : 获取当前按键状态信息
 * Parameter   : 
 * Returns     : 
 * Date        : 2020-04-04 15:29:46
 * Description : 
 ******************************************************************************/
u8 GetKeyFlag(void);
/* extern --------------------------------------------------------------------*/

#endif
